package com.shujia.day09;

import java.util.ArrayList;
import java.util.function.Consumer;

public class Demo05For {
    public static void main(String[] args) {
        ArrayList<Integer> integers = new ArrayList<>();
        integers.add(1);
        integers.add(2);
        integers.add(4);

        for (Integer integer : integers) {
            System.out.println(integer);
        }

//        integers.listIterator().for

        /*
           iterator方法是属于 Iterable 的 生成一个迭代器
               迭代器在有些情况下,因为可以维护一个指针,
                    并且有时并不需要将所有的数据全部获取到之后再再去进行数据遍历
                          可能有时是数据获取一条,再遍历一条  这样提升了效率 也节约了内存空间
         */
        integers.iterator();

        integers.forEach(
                // TODO  Consumer 表示一个消费器 用于获取ArrayList中的每个元素
                new Consumer<Integer>() {
                    /*
                        accept 方法用于接收每个元素 会将 ArrayList中的每一个元素 传入到  elem 变量中
                            每个元素调用一次 accept 函数
                     */
                    @Override
                    public void accept(Integer elem) {
                        System.out.println("accept被执行了一次:" + elem * 3);
                    }
                }
        );


    }
}
